#!/usr/bin/env bash
# ******************************************************
# Filename     :	scan_net.sh
# Last modified:	2017-07-04 16:06
# Version      : 
# Author       : jack.zang
# Email        : jack.zang@aishangwei.net
# Description  : 使用方法 chmod +x scan_net.sh;sh scan_net.sh eth0
# ******************************************************
ethn=$1 
while true 
do
  RX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')
  TX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $10}')
  sleep 1
  RX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')
  TX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $10}')

  clear  echo -e "\t RX `date +%k:%M:%S` TX"

  RX=$((${RX_next}-${RX_pre}))
  TX=$((${TX_next}-${TX_pre}))  
  if [[ $RX -lt 1024 ]];then
      RX="${RX}B/s"
  elif [[ $RX -gt 1048576 ]];then
      RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')  else
      RX=$(echo $RX | awk '{print $1/1024 "KB/s"}')  
  fi

  if [[ $TX -lt 1024 ]];then
      TX="${TX}B/s"
  elif [[ $TX -gt 1048576 ]];then
      TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')  else
      TX=$(echo $TX | awk '{print $1/1024 "KB/s"}')  
  fi

  echo -e "$ethn \t $RX   $TX "
done
